<?php
/**
 * Created by PhpStorm.
 * User: MF
 * Date: 2018/7/1
 * Time: 22:02
 */


// 通过反射类能搞很多事情，比如根据class名称自动实例化
// 反射API的功能显然更强大，甚至能还原这个类的原型，包括方法的访问权限
// 动态实例化对象


/**
 *
 * Class Person
 */
class Person {
	private $_name;

	private $age;

	public function setName($name) {
		$this->_name = $name;
	}

	public function getName() {
		return $this->_name;
	}

	public function say() {
		echo 'hello';
	}
}

// 建立 Person这个类的反射类
$class = new ReflectionClass('Person');

$obj = $class->newInstance();

// hello
$obj->say();

// 相当于实例化Person 类
// $instance = $class->newInstanceArgs($args);

$properties = $class->getProperties();

print_r($properties);